Backup File Names

Contents|Index|Previous|Next

Backup File Names

Normally, patch renames an original input file into a backup file by appending to its name the extension '.orig', or '˜' on systems that do not support long file names. The '-b backup-suffix' or '--suffix=backup-suffix' option uses backup-suffix as the backup extension instead. Alternately, you can specify the extension for backup files with the SIMPLE_BACKUP_SUFFIX environment variable, which the options over-ride.

patch can also create numbered backup files the way GNU Emacs does. With this method, instead of having a single backup of each file, patch makes a new backup file name each time it patches a file. For example, the backups of a file named 'sink' would be called, successively, 'sink.˜1˜', 'sink.˜2˜', 'sink.˜3˜', etc. The '-V backup-style' or '--version-control= backup-style' option takes as an argument a method for creating backup file names. You can alternately control the type of backups that patch makes with the VERSION_CONTROL environment variable, which the '-V' option overrides. The value of the VERSION_CONTROL environment variable and the argu-ment to the '-V' option are like the GNU Emacs version-control variable (see "Transposing Text" in The GNU Emacs Manual, for more information on backup versions in Emacs). They also recognize synonyms that are more descriptive. The valid values are listed in the following; unique abbreviations are acceptable.

't'
'numbered'
Always make numbered backups.

'nil'
'existing'
Make numbered backups of files that already have them, simple backups of the others. This is the default.

'never'
'simple'
Always make simple backups.

Alternately, you can tell patch to prepend a prefix, such as a directory name, to produce backup file names.

The '-B backup-prefix' or '--prefix=backup-prefix' option makes backup files by prepending backup-prefix to them. If you use this option, patch ignores any '-b' option that you give.

If the backup file already exists, patch creates a new backup file name by changing the first lowercase letter in the last component of the file name into uppercase. If there are no more lowercase letters in the name, it removes the first character from the name. It repeats this process until it comes up with a backup file name that does not already exist.

If you specify the output file with the '-o' option, that file is the one that is backed up, not the input file. See Options to patch.